<?php

class Application_Model_Form_Message extends Zend_Form {

    public function __construct() {
        parent::__construct();

        $username = new Zend_Form_Element_Text('user_name');
        $username->setLabel('Имя')
                ->setRequired(TRUE)
                ->addValidator('notEmpty')
                ->addValidator('alNum')
                ->addFilter('stringTrim')
                ->addFilter('stripTags')
                ->setAttrib('class', 'input');
        $email = new Zend_Form_Element_Text('email');
        $email->setLabel('e-mail')
                ->setRequired(TRUE)
                ->addValidator('EmailAddress')
                ->addFilter('stringTrim')
                ->addFilter('stripTags')
                ->setAttrib('class', 'input');
        $text = new Zend_Form_Element_TextArea('text');
        $text->setLabel('text')
                ->addValidator('notEmpty')
                ->addFilter('stripTags', array('allowTags' => array('a', 'code', 'i', 'strike', 'strong'), 'allowAttribs' => array('href', 'title')))
                ->addValidator('stringLength', false, array(6, 255))
                ->setRequired(TRUE)
                ->setAttrib('class', 'textarea');
        $img = new Zend_Form_Element_File('img_name');
        $img->setLabel('Image:')
                ->setDestination(PUBLIC_PATH . '/upload/img/')
                ->addFilter(new App_Filter_File_ImageResize(array('width' => 640, 'height' => 480)))
                ->addValidator('Extension', false, 'jpg,png,gif')
                ->setAttrib('id', 'img');
        $file = new Zend_Form_Element_File('txt_name');
        $file->setLabel('Txt:')
                ->setDestination(PUBLIC_PATH . '/upload/txt')
                ->addValidator('Size', false, 100000)
                ->addValidator('Extension', false, 'txt');
        $captcha = new Zend_Form_Element_Captcha('captcha', array(
                    'captcha' => array(
                        'captcha' => 'ReCaptcha',
                        'pubKey' => '6LfBN9USAAAAAGFl9Ikx0hTdmsGEfOqRE-RDqCqK',
                        'privKey' => '6LfBN9USAAAAAH8GTcjLui_To_2BDEZyGDdNLW4y',
                    ),
                    'captchaOptions' => array('theme' => 'white', // возможны варианты 'red' | 'white'  
                        // | 'blackglass' | 'clean' | 'custom'
                        'lang' => 'ru'), // здесь также возможны 'en', 'nl', 
                    // 'fr', 'de', 'pt', 'ru', 'es', 'tr'
// Captcha использует свой собственный декоратор, поэтому, для корректного ее отображения 
// декоратор должен быть задан примерно следующим образом:

                    'decorators' => array(
                        array('Captcha'),
                        array('Errors'),
                    )
                ));
        $submit = new Zend_Form_Element_submit('send');
        $this->addElements(array($username, $email, $text, $img, $file, $submit));
        $this->setAttrib('id', 'my');
        $this->addDisplayGroup(array('user_name', 'email', 'text', 'img_name', 'txt_name', 'send'), 'message', array('legend' => 'Add youre message'));
    }

}

?>